package com.ruoyi.slope.device.status.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.Date;

/**
 * 设备状态 对象 slope_device_status
 * 
 * @author psy
 * @date 2025-05-01
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Mapper
public class SlopeDeviceStatus extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键id */
    private Long id;

    /** 设备序列号 */
    @Excel(name = "设备序列号")
    private String deviceSn;

    /** 供电电压(V) */
    @Excel(name = "供电电压(V)")
    private Long powerVoltage;

    /** 太阳能板电压(V) */
    @Excel(name = "太阳能板电压(V)")
    private Long solarVoltage;

    /** 电量剩余百分比(%) */
    @Excel(name = "电量剩余百分比(%)")
    private Long batteryPercent;

    /** 设备所处温度(°C) */
    @Excel(name = "设备所处温度(°C)")
    private Long temperature;

    /** 设备所处位置经度 */
    @Excel(name = "设备所处位置经度")
    private Long longitude;

    /** 设备所处位置纬度 */
    @Excel(name = "设备所处位置纬度")
    private Long latitude;

    /** 是否是4G网 */
    @Excel(name = "是否是4G网")
    private Integer is4g;

    /** 4G网络信号强度(dBm) */
    @Excel(name = "4G网络信号强度(dBm)")
    private Long signal4g;

    /** NBIoT网络信号强度(dBm) */
    @Excel(name = "NBIoT网络信号强度(dBm)")
    private Long signalNbiot;

    /** 北斗信号强度(dBm) */
    @Excel(name = "北斗信号强度(dBm)")
    private Long signalBeidou;

    /** 固件版本号 */
    @Excel(name = "固件版本号")
    private String firmwareVersion;

    /** 传感器状态信息JSON字符串 */
    @Excel(name = "传感器状态信息JSON字符串")
    private String sensorStatusJson;

    /** 功放状态（预警喇叭） */
    @Excel(name = "功放状态", readConverterExp = "预=警喇叭")
    private Integer amplifierStatus;

    /** 部门id */
    private Long deptId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

}
